using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Threading.Tasks;

namespace Elderos.Articles
{
    public interface IArticlesData
    {
        Task<Article> GetArticleAsync(int articleID);

        List<int> GetIdealArticles();

        Task<QueuedArticle> DequeueArticleAsync();

        Task UpdateArticleAsync(Article article, SqlTransaction transaction = null);

        Task UpdateQueuedArticleAsync(QueuedArticle queuedArticle, SqlTransaction transaction = null);

        Task<Article> GetUncheckedArticleAsync();
        Task<Article> GetArticleByQueueIDAsync(int queueID);
    }
}